feat: Added React Demo webApp and deployment workflow#73
feat: Added React Demo webApp and deployment workflow#73rockyRaccoon13 wants to merge 221 commits intoni:mainfrom
Conversation
Blazor build job fixed.
There was a problem hiding this comment.
Separated Blazor and Node build jobs
I have separated the node apps and blazor apps into separate build jobs in the same workflow.
After reviewing @Samuelsotogit 's deploy script, I refactored the Blazor build steps.
Successfully deploys web apps
The script successfully deployed React,Angular, and Blazor apps (see the SL test env webapps suffixed with _PROD in the BYU2026 workspace).
Analysis
Blazor build steps is by far the slowest part of the workflow -- taking about 1 min.
I could create separate workflow files for Blazor and Node apps if needed, but I don't want to add more files to the workflow folders without approval.
There was a problem hiding this comment.
Could we either remove the Blazor script from this PR for now or comment it out? Right now it's failing the PR checks because there isn't anything for it to build: the PR only contains the React app and API proxy.
Longer term I'm not too worried about build duration while we're still only taking a minute or two. But I am keeping an eye on the complexity and number of workflows (see my comment in the other thread about potential future refactors there).
jattasNI
left a comment
There was a problem hiding this comment.
We are getting close. I scanned all the comments and I think the only remaining open ones are:
- @rockyRaccoon13 Blazor pipeline is failing
- @amur-bashirov font issues
- not sure who: README suggestions
| @@ -64,6 +64,18 @@ and extend SystemLink Enterprise for your organization's needs. | |||
| - Create work item templates for standardization | |||
| - Define custom workflows with specialized states and actions | |||
There was a problem hiding this comment.
Copying a comment from my original review that got overlooked because GitHub buried it:
I think it'd be useful to add small READMEs at a few levels in the hierarchy:
- in the React directory, a README that links to info about React and lists the apps along with a 1 sentence description of each one
- in the Framework Examples directory, a README that explains how the web apps are organized and that talks a little bit about what they are demonstrating (similar to the info you added in the root README)
Justification
Added a React demo web application using Vite to demonstrate how a customer might create a webApp and deploy it to SystemLink. The webApp demos how to call SystemLink APIs both in development (locally) and in production (within a SystemLink website).
The github actions webApp workflow automates building, linting, and deployment to the SystemLink website. The workflow also outputs a .nipkg artifact of the webApp to github. See
/.github/workflows/webapp_deploy.ymlImplementation
Webapp Design
examples/web_apps/Framework_Examples/React/ApiKeyAuthAppRunning in Development (locally) vs Production (hosted in SystemLink website)
.env.developmentand.env.production) files allow variable domain for fetches (dev will fetch from the local proxy server, prod will fetch from the hosting website)ApiServiceProxy -- Required to run web app locally
token authentication when the web app is hosted in the SystemLink website
ApiServiceProxy/README.mdProduction -- Running inside SystemLink Website
ApiKeyAuthApp/README.md./deployDev.shWorkflow -- Building, Linting, Deployment to SystemLink website
package.json(npm ci, npm lint, npm build).SystemLink CLI (SL CLI) integration in Workflow
SL_API_URLSL_API_KEYSL_WEBSITE_URLSL_WORKSPACETesting
Local env
Within SystemLink website
Workflow
Checklist